Contact centers, such as Automatic Call Distribution or ACD systems, are employed by many enterprises to service customer contacts. A typical contact center includes a switch and/or server to receive and route incoming packet-switched and/or circuit-switched contacts and one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming contacts. Contact centers distribute contacts, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria. In many existing systems, the criteria for servicing the contact from the moment that the contact center becomes aware of the contact until the contact is connected to an agent are customer-specifiable (i.e., programmable by the operator of the contact center), via a capability called call vectoring. Normally in present-day ACDs when the ACD system's controller detects that an agent has become available to handle a call, the controller identifies all predefined call-handling skills of the agent (usually in some order of priority) and delivers to the agent the highest-priority oldest-waiting call that matches the agent's highest-priority skill. Generally, the only condition that results in a call not being delivered to an available agent is that there are no calls waiting to be handled.
Most present-day contact-distribution algorithms focus on being “fair” to contactors and agents. This fairness is reflected by the standard first-in, first-out call to most-idle-agent assignment algorithm. Skills-based routing improves upon this basic algorithm in that it allows each agent to be slotted into a number of categories (splits) based on the agent's skill types and levels.
The primary objective of contact center management, including call-distribution algorithms, is to ultimately maximize call center performance and profitability. That may involve minimizing cost, maximizing call throughput, and/or maximizing revenue, among others. For example, when a new call arrives, the call should be handled by an agent who either has the ability to produce the most revenue or can handle the call in the shortest amount of time. Also, when an agent becomes available to handle a new call, the agent should handle either the call that has the possibility of generating the most revenue or the call which the agent is most efficient in handling.
To realize the objectives of optimized contact center performance and profitability, various algorithms have been developed to monitor and track selected contact center events. For example, the Services for Computer Supported Telecommunications Applications (CSTA) standard 269 of the European Computer Manufacturers Association (ECMA) defines relationships among calls, connections, and devices. The CSTA standard specifies that the identification of a call changes when the call is conferenced or transferred and that a “call”, whether it represents voice, email, or messaging, involves only a single channel. The CSTA standard does not specify how calls, connections, and devices are to be tracked for reporting. It only specifies the states of calls, connections and devices before and after the operations it defines and the events that are emitted as a result of the operations. Current Avaya™ Customer Resource Management™ products, such as Basic Call Management System or BCMS™, Call Management System or CMS™, and Operational Analyst™, have data models that provide only limited details. BCMS has only a summary of the total time that calls spent on hold at an agent. It has neither further detail on the calls held nor information on conferences and transfers in its call record structure. CMS has more detailed information on held calls, conferences, and transfers in its call record structure. CMS tracks which agent held a call, how many times and for how long, when there is more than one agent on a call. However, CMS does not record when the call was put on hold by which participants and when the call was removed from hold by each party. Avaya's Multi-Media Contact Center™ tracks summary data, in a manner similar to CMS, and has a data model supporting detailed tracking of contacts as well. The data model does not support tracking for conferences involving multiple external parties nor for multi-channel contacts. In short, none of BCMS, CMS, or the Multi-Media Contact Center addresses multi-channel or multi-state contact tracking, since they are generally directed to voice contacts. Finally, existing data warehouse models in the data warehousing industry provide, at most, only limited information on contacts. Existing models tend to focus on customer and billing information from sales and marketing systems but typically do not contain structures that support interaction details. The models fail to provide the granular details that will allow contact centers to analyze the details of individual contacts.
There is a need for a contact monitoring/tracking algorithm that provides details on contact history in a contact center, including details on changes in state and channel during the customer/contact center interaction.